package com.xuecheng.content.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@ApiModel("保存课程计划dto")
public class SaveTeachplanDto implements Serializable {
    @ApiModelProperty("课程计划id，新增时不用传")
    private Long id;

    @ApiModelProperty("课程id")
    private Long courseId;

    @ApiModelProperty("课程计划层级")
    private Integer grade;

    @ApiModelProperty("父课程计划id")
    private Long parentid;

    @ApiModelProperty("课程计划名称")
    private String pname;

    @ApiModelProperty("是否支持试学。")
    private String isPreview;

    //前端如果传过来的是字符串，要转成日期格式就要加这个注解规定格式，
    //但是本项目中我配置了日期和字符串全局转换器，所以这里不需要这个注解
    /*
    * 注意：这里不能用@DateTimeFormat，
    * 因为@DateTimeFormat只对@RequestParam、@PathVariable或表单提交这些参数有效，
    * 对json格式的请求体参数无效，所以这里要用@JsonFormat来序列化和反序列化
    * */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("直播开始时间")
    private LocalDateTime startTime;

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("直播结束时间")
    private LocalDateTime endTime;
}
